// 用户相关 store

const state = {
    userInfo: {
        name: 'zhangsan',
        age: 18
    },
    score: 80
}
const mutations = {
    setUser(state, newUserInfo) {
        state.userInfo = newUserInfo
    }
}
const actions = {
    // 这里的 context 默认提交的就是自己模块的 action 和 mutation
    asyncSetUserSecond(context, newUserInfo) {
        setTimeout(() => {
            context.commit('setUser', newUserInfo)
        }, 1000)
    }
}
const getters = {
    // 分模块后，state 指的是自己模块的 state
    UpperCaseName(state) {
        return state.userInfo.name.toUpperCase()
    }
}

export default {
    // 使用辅助函数需要开启命名空间
    namespaced: true,
    state,
    mutations,
    actions,
    getters
}
